/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Servlet;

import br.figmania.Fachada.Fachada;
import java.io.IOException;
import java.text.ParseException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

/**
 *
 * @author Henrique
 */
public class FigManiaServlet extends HttpServlet {

    /**
     * Processes requests for both HTTP
     * <code>GET</code> and
     * <code>POST</code> methods.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
   
    /**
     * Handles the HTTP
     * <code>GET</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
                
      String acao = request.getParameter("chamarControlador");   
      Fachada fachada = Fachada.getInstance();
      
      if (acao.equals("editarPerfil")){
          
          fachada.getUsuarioControlador().editarPerfil(request,response);
      } else if(acao.equals("excluir_amigo"))  {
          
          String id_amizade = request.getParameter("id_amizade");
          fachada.getAmizadeControlador().excluiAmigo(request, id_amizade);
          response.sendRedirect("meus_amigos.jsp");
          
                    
      } else if (acao.equals("meus_eventos")){
          
          fachada.getEventoControlador().carregarEventosUsuario(request);
          response.sendRedirect("meus_eventos.jsp");
          
      } else if (acao.equals("excluir_evento")){
        String id_evento = request.getParameter("id_evento");
        fachada.getEventoControlador().excluirEvento(request, id_evento);
        response.sendRedirect("meus_eventos.jsp");
                 
      } else if(acao.equals("adquirir_album")){
       
       String id_album = request.getParameter("id_album");
       fachada.getAlbumControlador().adquirirAlbum(request, id_album);
       response.sendRedirect("adquirir_album.jsp");
       
          
      } else if (acao.equals("convidarAmigo")){
          
          String id_solicitador = request.getParameter("id_solicitador");
          String id_convidado = request.getParameter("id_convidado");
          
          fachada.getAmizadeControlador().convidarAmigo(id_solicitador, id_convidado, request);
          
          response.sendRedirect("meus_amigos.jsp");
          
      } else if (acao.equals("aceitarSolicitacoes")){
          
          String id_amizade = request.getParameter("id_amizade");
          fachada.getAmizadeControlador().aceitarSolicitacao(id_amizade);          
          response.sendRedirect("solicitacoes.jsp");                 
          
      } else if (acao.equals("ler_noticias")) {
          
          fachada.getTimeControlador().buscarNoticiasDoMeuTime(request, response);
       
      } else if (acao.equals("mostrarPerfil")){
          
         String id = request.getParameter("index");
         boolean status = fachada.getUsuarioControlador().buscarUsuarioParaMostrarPerfil(request, id);
         response.sendRedirect("ver_perfil_amigo.jsp");          
          
      } else if (acao.equals("figurinha")){
          
          String figurinha = request.getParameter("figurinha");
           boolean status = fachada.getFigurinhaControlador().colarFigurinha(request, figurinha);
           response.sendRedirect("Album2.jsp");
          
      } else if (acao.equals("escolherPacote")){
          
          HttpSession secao = request.getSession();
          secao.setAttribute("escolherPacote", "pacote");
          response.sendRedirect("Album2.jsp");          
          
      }
        
        
    }

 
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
            
        String acao = request.getParameter("chamarControlador");
        Fachada fachada = Fachada.getInstance();
        
        if (acao.equals("criarPerfil")){
            try {
                fachada.getUsuarioControlador().criarPerfil(request, response);
            } catch (ParseException ex) {
                Logger.getLogger(FigManiaServlet.class.getName()).log(Level.SEVERE, null, ex);
            }
            
        } else if (acao.equals("criarEvento")){
            try {
                fachada.getEventoControlador().criarEvento(request, response);
            } catch (ParseException ex) {
                Logger.getLogger(FigManiaServlet.class.getName()).log(Level.SEVERE, null, ex);
            }
            
        }else if (acao.equals("updateUsuario")){
            try {
                fachada.getUsuarioControlador().updateUsuario(request, response);
            } catch (ParseException ex) {
                Logger.getLogger(FigManiaServlet.class.getName()).log(Level.SEVERE, null, ex);
            }
        } else if (acao.equals("buscar_amigo")){
            
            String nome_amigo = request.getParameter("nome_amigo");
            fachada.getAmizadeControlador().BuscarAmigos(nome_amigo, request, response);
            
        }
        
                
       }

   
    @Override
    public String getServletInfo() {
        return "Short description";
    }// </editor-fold>
}
